iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0
自我挑戰組

30天 LaTeX 挑戰系列 第 1

# 30天 LaTeX 挑戰 Day 1 編譯引擎、格式、發行版與編輯器(上)

  • 分享至 

  • xImage
  •  

巨集

巨集是指將一連串的指令換為以一串文字替代,類似將往(往前+右轉)X4 換成話正方形一樣,LaTeX 有許多的巨集包(以下用 Package 代稱)可供使用,如有特殊需求也可以自行撰寫。

編譯引擎與格式的差異

LaTeX 是由兩個部分所組成的,一個是編譯引擎( Engine )一個是格式,格式簡單來說是一個龐大的巨集,裡面將基本命令封裝成的高級命令,而編譯引擎則是負責命令轉成 PDF 的工作。

編譯引擎與格式

格式

目前據我所知有以下兩種格式

  • Plain TeX
  • LaTeX

Plain TeX 是高德納教授自行編寫的,但由於對普通人還是太過艱澀,所以之後 Leslie Lamport 編寫了 LaTeX,使得像我這樣的普通人也可以享受 TeX 帶來的方便性。

我並沒有使用過 Plain TeX 這個格式,所以本篇所有的程式碼都是基於 LaTeX 這個格式的。

編譯引擎

據我所知有以下這幾種

  • TeX
  • pdfTeX
  • xeTeX
  • LuaTeX
  • pTeX & upTeX

TeX

當時的高德納教授正準備出版他的著作《The Art of Computer Programming》,但他覺得書商將他的著作排得太難看了,於是他便寫出了 TeX 來為自己的著作排版。

pdfTeX

一開始 TeX 只能產生 dvi 檔,如果需要 pdf 檔得使用 dvips + ps2pdf 或 dvipdf 等,用久了難免會覺的不方便,於是就有人對 TeX 進行了改進,使 TeX 能夠直接的產生 Pdf 檔,而這改進過的引擎就被命名為 pdftex。

XeTeX

隨著時代的進步,TeX 並沒有消逝在歷史的洪流中,但對於日新月異的電腦科學來說,TeX 所支持的字體技術及編碼過於的老舊,於是便開發了支持 Opentype, Truetype, Unicode 的 XeTeX,並可以直接調用系統字體。

LuaTeX

後來有人希望可以建立一個開放且可配置的 TeX 環境,於是就將 Lua 加進了 pdfTeX 裏成為了 LuaTeX。

LuaTeX 可在文章中直接使用 Lua 來改變排版細節,也支持 Unicode 編碼及現代的字型技術。

pTeX & upTeX

這算是一個比較特殊的分枝,在 TeX 傳入日本後,因為 TeX 本身不支持非拉丁語系的文字,於是日本人便將 TeX 依照自己的需求改進,最終的產物就是原生支持日文的 pTeX(但只支持特定編碼,upTeX 才支持 unicode 編碼) ,除了原生支持日文外也支持豎排文章。


下一篇
# 30天 LaTeX 挑戰 Day 2 編譯引擎、格式、發行版與編輯器(下)
系列文
30天 LaTeX 挑戰8
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言